xieb
2023-09-13 3667807a7b7418efc090ee3fa6a6b734bc3080bf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
export function useVModel (props:any, propName:string, emit:any) {
  return computed({
    get () {
      return new Proxy(props[propName], {
        get (target, key) {
          return Reflect.get(target, key)
        },
        set (target, key, value) {
          emit('update:' + propName, {
            ...target,
            [key]: value
          })
          return true
        }
      })
    },
    set (val) {
      emit('update:' + propName, val)
    }
  })
}