加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

可视化拖放 自定义表单 调研

发布时间:2020-12-15 01:13:17 所属栏目:C语言 来源:网络整理
导读:库 一应俱全,样式不咋地 只有单个数组排序功能,样式特效丰富 问题 整个数据流向: 左栏组件库 中间展示栏 右栏属性设置,控制不好数据的话,可能会出现原始数据被修改的情况。 var a = { k: 1 }var b = ab.k = 2console.log(a) // { k: 2 } 考虑过使用 Immu

  • 一应俱全,样式不咋地
  • 只有单个数组排序功能,样式特效丰富

问题

  • 整个数据流向: 左栏组件库<-->中间展示栏 <---->右栏属性设置,控制不好数据的话,可能会出现原始数据被修改的情况。
var a = { k: 1 }
var b = a
b.k = 2
console.log(a) // { k: 2 }

考虑过使用Immutable.js,繁琐 徒增代码量
最后使用Object.freeze

  • 拖放组件使用vuedraggable,拖放完成的时候,鉴于MVVM的特点,画面改变<=>数据改变,操作vuex时注意不能直接修改state,其实跟第一点差不多,使用computed计算属性get set解决
computed: {
    myList: {
        get() {
            return this.$store.state.myList
        },set(value) {
            this.$store.commit('updateList',value)
        }
    }
}
  • 动态显示template
import Vue from 'vue'
export default Vue.component('CustomTemplate',{
    props: {
        html: String
    },render (h) {
      return h(Vue.extend({ // 关键点
          template: `
`,data () { return { current: '' } },methods: { doclick (uuid,id) { this.current = uuid this.$store.commit('EditPanel/changeId',uuid) },dodragstart (ev) { ev.dropEffect = 'move' } } })) },})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读