123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <template>
- <span>{{ value || "- -" }}</span>
- </template>
- <script>
- export default {
- name: "ComputedInput",
- props: {
- // v-model
- value: {
- type: [Number, String],
- require: true,
- },
- // v-model
- formatter: {
- type: Function,
- default: () => {},
- require: true,
- },
- // 源数据
- source: {
- type: Object,
- require: true,
- },
- },
- data() {
- return {};
- },
- computed: {
- newSource() {
- return this.$props.source;
- },
- },
- watch: {
- newSource: {
- handler: function (newProp) {
- const { formatter } = this.$props;
- console.log("formatter", formatter);
- this.$emit("input", formatter(newProp));
- },
- deep: true,
- immediate: true,
- },
- },
- methods: {},
- created() {},
- mounted() {},
- destroyed() {},
- };
- </script>
- <style scoped></style>
|