Vue/React 继续在路上

2020-08-18

今天主要更新了日记相关功能,支持切换年份展示分页,以及在编辑页面里面左右切换临近的其他日记。就是发现目前图片存储设计,对老数据的兼容性比较有问题。我只好直接用 SQL 拼接了一下字符串,强行将原有的字符串存文件名形式(所以当时只支持一张图),改成了现在的 JSON 数组形式...

UPDATE `note_2018` SET `photo` = concat('[{"year":"2018,"name":"', photo, '","type":"image/jpeg"}]') WHERE `photo` IS NOT NULL

以此同时,置业那边提出了新的建议,二手房的建筑面积需要支持输入小数点。一开始我想是不是应该使用正则,可我分析了很久,都没写出最合适的。后面想到 Element 是用 async-validator 这个库实现的验证,我就改变了思路,直接分析,发现它确实支持验证是整型还是浮点型... 同时还看了一波文档,得知 Input 是可以使用原生 type 值的,天生过滤其余内容,这个问题也就迎刃而解了。

<el-form-item label="建筑面积" prop="size">
  <el-input type="number" v-model.number="edit_form.size" placeholder="㎡">
    <template slot="append">㎡</template>
  </el-input>
</el-form-item>

继续捣鼓 React 组件。现在默认的 alert 看烦了,不知道如何将我奇趣框架的弹窗和灯箱移植过去,感觉是一个从来没接触过的概念。我只记得 Vue 的 Element 是 this.$message 这样的写法,不知道 React 这边要怎么实现,总不可能所有页面都 import 一遍吧。

如果只在根元素下 import,那么子组件要怎么控制它,总不可能一级接一级传吧!这种东西我认为应该是个类全局的东西,应该在允许范围内任意调用。在与 @Innei 的对话中,得知了 Vue 的 Provide/inject|React 的 Context 这样的一个概念,后续搞清楚一点再去尝试使用吧...

Innei:Vue 奇怪的写法让很多人转不过来弯,文档多看看
Innei:this 害人,你不会现在再写 hoc 吧,hoc 还是别用 context 了
:hoc 又是啥,我都不知道我写的是什么,仅限能用
Innei:建议恶补文档,再写代码
Twilight 阵雨 郁闷
概览页 时间轴
奇趣音乐盒 技术源于 Kico Player
Emmm,这里是歌词君