V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  justyeh  ›  全部回复第 4 页 / 共 6 页
回复总数  103
1  2  3  4  5  6  
能 bba 就 bba
v2 也有发帖员了?老是在热门看见,点了一下个人主页,好家伙,你的帖子很有“话题性”,👍👍👍👍
2023-07-05 15:14:32 +08:00
回复了 zhonj 创建的主题 前端开发 大家公司里面写前端样式都是咋写的?
@zhonj 不是无脑 copy ,会选择性的删除一些用不到的属性,经常用到的是 fontSzie 、color 、border 、background ,真的很方便
react 就 taro ,另外小程序支持 ci

// 自动将代码上传到小程序
const ci = require('miniprogram-ci')
const path = require('path')
const mainfest = require('../src/manifest.json')
const slog = require('single-line-log').stdout
const robot = Number(process.env.ROBOT) || 1
const buildVersion = process.env.npm_config_build_version || mainfest.versionName

function getUploadDesc() {
// dev
if (robot === 1) {
return 'build by robot --dev'
}

// test
if (robot === 2) {
return 'build by robot --test'
}

// release
if (robot === 3) {
return 'build by robot --release'
}

// uat
if (robot === 4) {
return 'build by robot --uat'
}

return mainfest.description
}

async function main() {
const project = new ci.Project({
appid: mainfest['mp-weixin'].appid, //appid
type: 'miniProgram',
projectPath: path.resolve(__dirname, '../dist/build/mp-weixin'), //项目路径
privateKeyPath: path.resolve(__dirname, `./private.${mainfest['mp-weixin'].appid}.key`), //小程序后台的上传密匙
ignores: ['node_modules/**/*']
})

let slogIndex = 0

try {
await ci.upload({
project,
version: buildVersion,
desc: getUploadDesc(),
setting: mainfest['mp-weixin'].setting,
robot,
onProgressUpdate: () => {
slog('上传中' + (slogIndex === 0 ? '.' : slogIndex === 1 ? '..' : '...') + '\n')
slogIndex++
if (slogIndex === 3) {
slogIndex = 0
}
}
})
console.log(`上传成功 版本${buildVersion}`)
} catch (error) {
console.error(`上传失败 版本${buildVersion}`, error)
}
}

main()
2023-07-04 14:35:24 +08:00
回复了 zhonj 创建的主题 前端开发 大家公司里面写前端样式都是咋写的?
@zhonj 为什么会有去维护一个类名的需求,写 vue scoped ,写 react 就 css module ,我写样式除了 @include text-ellipsis;这样的仅有的几个代码,几乎不复用

定位要么一眼就观察到了,要么 cmd+f

还有一个很重要的点,类似于蓝湖这样的工具已经能生成很多样式代码,拷贝+简单的修改就可以活,效率和心智负担比 tailwindcss 之类的玩意强太多了
2023-07-04 13:41:36 +08:00
回复了 zhonj 创建的主题 前端开发 大家公司里面写前端样式都是咋写的?
```js
// 头部导航栏样式
setInnerClass(idx) {
const isBefore = idx < this.active
const isCurrent = idx === this.active
const isAfter = idx > this.active
const beforeClassInner =
'min-w-[22px] max-w-[22px] w-[22px] h-[22px] bg-[#ffffff] text-[#3F7AFF] text-center text-[12px] font-semibold leading-[18px] rounded-full border-[2px] border-[#C8D7F9]'
const currentClassInner =
'min-w-[22px] max-w-[22px] w-[22px] h-[22px] bg-[#3F7AFF] text-[#fff] text-center text-[12px] font-semibold leading-[18px] rounded-full border-[2px] border-[#124FDA]'
const afterClassInner =
'min-w-[22px] max-w-[22px] w-[22px] h-[22px] bg-[#ECECEC] text-[#CBCBCB] text-center text-[12px] font-semibold leading-[18px] rounded-full border-[2px] border-[#ECECEC]'
return (isBefore && beforeClassInner) || (isCurrent && currentClassInner) || (isAfter && afterClassInner)
},
setOuterClass(idx) {
const isBefore = idx < this.active
const isCurrent = idx === this.active
const isAfter = idx > this.active
const beforeClassWarp = 'z-[2] max-w-[26px] relative rounded-full border-[2px] border-[#C8D7F9]'
const currentClassWarp = 'z-[2] max-w-[26px] relative rounded-full border-[2px] border-[#C8D7F9]'
const afterClassWarp = 'z-[2] max-w-[26px] relative rounded-full border-[2px] border-[#ECECEC] custom-linear-box-shadow'
return (isBefore && beforeClassWarp) || (isCurrent && currentClassWarp) || (isAfter && afterClassWarp)
},
```
2023-07-04 13:38:22 +08:00
回复了 zhonj 创建的主题 前端开发 大家公司里面写前端样式都是咋写的?
我不理解用 taildcss 是赶时髦还是怎么的,这种代码真的好吗?

```
<div
v-for="(group, idx) in schema"
:key="idx"
class="min-h-[70px] relative"
>
<div
:class="setOuterClass(idx)"
@click="() => {
active = idx
}">
<div :class="setInnerClass(idx)">
<div>{{ idx + 1 }}</div>
</div>
</div>
<div class="absolute text-[12px] left-[50%] top-[32px] min-w-[70px] translate-x-[-35px] text-center" :style="{ color: active >= idx ? '#3F7AFF' : '#CBCBCB'}">{{ group.label }}</div>
</div>
```
2023-07-04 13:32:40 +08:00
回复了 zhonj 创建的主题 前端开发 大家公司里面写前端样式都是咋写的?
之前一个同事用了 tailwindcss ,UI 设计的花哨点,样式代码比标签长
我去改样式,p-8 、f12 都是什么鬼,还要一个个的去看

没有成熟的设计规范,tailwindcss 请自己玩玩就好
2023-05-08 16:23:56 +08:00
回复了 nu1l 创建的主题 Vue.js 请教一个 Vue 动态组件问题
2023-05-08 16:17:13 +08:00
回复了 nu1l 创建的主题 Vue.js 请教一个 Vue 动态组件问题
https://play.vuejs.org/#__DEV__eNrtV1tPG0cU/isjv8QgZy1Q+2IZ0kjtQyulqZRKfcA8ON4x2QK7q901DbIsuSmBmhgHNSlQc2lJ0pCqXAsJxubyY7qzaz/lL/TMzF7tUFxQW1WqkbDPmXOb75w5cyYfuamqwkQORxKRpJ7RJNVAOjZy6mBKRkgaVxXNQHmk4WwMKfItJScbWIwhGd83Ppcyo6iAspoyjq6BhWsBjS8UbRRrzpoQ5yR1ExS6Y+RELBuelEM7YlQwo8i6gcS0kUYDNIZovtBD+eG1PljMUxZCI5qSUxMuhZCI9UwCpSJk66X99MdUJOYu5HSs6Qk05NLI16EfY1LFVI8HHtBjRsFnwAf/yOlxpkGOfzJrJdBgQfqf9Ags978X48EH+KKoYT0cihMQykjGJLNZXjTrm9SmbmgYG5Rn1st2ZScVQYV2T52a/e9SBSYqhDWHQ3QhsOl3guPkq32vHjwpw/9z4bFWK2R5OaxC1zk873ewu0DHrM1arw/DW2w1pqzXLxk6Fym2gcM1LwbHJYb5D0azf+Ha7O+iNg9/Nuv1v682ffDtyiOz/vSc2uyD2rxEaR6dkcO1MISc13cB+lyqDX2PecXSvMS53fqBPNw6D5tQYXaLjXW4R1b2wxvkvIuw4VJt2HjMq1Sm18Oj0R40MOiiQaERJtJjOQz1+smd258KalrTcZT9hBAkeUTKTkZZt+1hLdhvxPHeXmakF5Hdad6sm9un9sm2WavzM8CX4/7JyKnAxx/yvn7ZQPp5IDQI2iri4L/SsCola/9Va2aWzFesreekVuMyt+9+iTOGMIondabMffQIWUX7KJ25Fx2lMYh4DBs4EMPQ6LDjw73wwrBdLl4OHUcklJwLkezrQBKKEBtXBNLJ6H8GSC/ec4Hk2HwliSPYuJVW/R7sXFnO0XO6BNdMxvn4A4MPEAYeV8egRtkYlLzXz74Ruo7sB0dkpuFUMLLKpdZ32wDR2+Oyvblp1orW6rr1/a41t239tm6tlJrPfrWWD6yF3d+LD8gyjAZ1TpLSHGjZjSmz8cbea5C1R/ZyjcyXuZvkXc13GJBpFavNsxmOFbtOBHZXDA0LtPEh8u0La2Gr0wR3ycMCxxCrVXto/1InO0fNvXW7OmWVihAr2Vuzihvk8Y5ZO7AW3zQ3npPp/dbiduvZEqiYJ9PW0g45ecLtNE+/IS+qIEatNapk9hXs3DyZo9V6XCWPl0h5IRxJMu7AmBSlCSc2vi1oynm6pxt8UzcEejUWWDaTcVfYMwMMNHEd6m0gFYnS/ceQJIv4fg98dUAD3TIBtQqilBRot09FHOfJjAKDqExHUJSQdJDxKmaISVNQh6kFSc4qrgnqAUwk4562a87bpx9yzjAUGX2QGYOKpwa8vucFwVlcj4vTAjQ6VL2D7mkyTptiMu4VbiTmDmjueB+oaXDgJyGpq2l5kI/I5tm69fUOnAXKcpZ9SfiQjSdkfo5mDODOKgxRxHPF148OWqdTb4+rrgBcoN66Dw38vsmvUA9dLs2ZDGBHIARqYINAnPdgcU27LwuHbn+A5EWclWT8maaoeoy+L9pfM34vUakM9JGARtTpKTTuhNMX227GuKNNRZwXDDMkUAaIeT0HkhWI8c+SRVZ2yWrRz4x3FAA5egCoZb/ogSnQocIrGtgPmzHyeXepAA8Id8jgXE515uyv5eAfA9cpmY+7wNh/h3ZxHthY/v95+HfOQ+EPl+vLSg==
2023-05-08 16:16:38 +08:00
回复了 nu1l 创建的主题 Vue.js 请教一个 Vue 动态组件问题
props 直接使用,不要再 ref 一遍
2021-03-16 16:36:24 +08:00
回复了 mashaofeixxx 创建的主题 推广 NUC8i5 黑果套餐返场! 抽一人送西数黑盘.
分母罢了
2020-10-13 15:16:14 +08:00
回复了 zjyg1993 创建的主题 PHP 诡异 bug,实在搞不清头绪,有大佬吗,进来看看?
第一次见,禁用 css 可以加载网页,并且你这个问题是在窗口宽度小于 768 时出现,大概率定位到媒体查询里面的代码出现问题,控制变量法,style.css 和 aoyun.css 这个文件,@media (min-width:768px)里面一块块的注释,定位出具体的地方,记得来分享哦 https://i.v2ex.co/504J5BO2.png

两个 css 校验错误:
304 .mcArchiveNav 属性 backdrop-filter 不存在 : saturate(130%) blur(20px)
619 .picBox img 无效数字 : height 太多值不能识别 : intrinsic
eladmin 上套的吧,说一下这个模版的通病:
1 、列表进详情,返回后又回到第一页(一堆检索条件,第十页,详情,返回,第一页并且检索条件没留住)
2 、菜单管理,上级菜单不能是自己或者自己的子集,这个问题曾经直接干崩过一个系统,不知道现在的版本修复了没有

作者可以改进一下
2020-09-18 10:43:19 +08:00
回复了 liyang5945 创建的主题 分享创造 土木搬砖狗转行前端开发(二):切图仔之路
文笔不错,看着很有意思
2020-08-14 17:37:13 +08:00
回复了 nexmoe 创建的主题 程序员 高考完了没事做,大佬们进来给我的博客提提意见呗
看出来是用心做了的,挺佩服楼主能找到那么多图片,我以前也搞过博客,找配图比内容本身花的时间都长!
详情页面( https://nexmoe.com/3701269205.html )的媒体查询断点可以优化一下,特定宽度最右侧的导航会被挡住。翻了一下后面几页,我个人觉得内容深度需要提高。
2020-05-27 16:47:23 +08:00
回复了 justyeh 创建的主题 React 如何将子组件的值暴露到父组件中?
嗯,自己解决了,一开始没有搜索对方向,帖子一发就找到办法了 https://i.v2ex.co/6qkEmGZF.png

还是谢谢楼上

```
const Handle = useCallback((rowData) => {
return (
<HandleBox onClick={(e) => e.stopPropagation()}>
<HandleItem onClick={() => handleEdit(rowData)}>编辑</HandleItem>
<HandleItem onClick={() => handleTogglePublish(rowData)}>
{rowData.isPublish === 'yes' ? '取消发布' : '发布'}
</HandleItem>
<HandleItem onClick={() => handleDel(rowData)}>删除</HandleItem>
</HandleBox>
)
}, [])

return (
<AssetList
loading={loading}
pagination={{ ...page, total }}
data={data}
infiniteScroll={infiniteScroll}
hasMore={hasMore}
onLoadmore={onLoadMore}
handle={Handle}
onItemDel={onItemDel}
/>
)
```

**AssetList**

```
const List = (
<div className={`asset-list ${layout} ${empty ? 'empty' : ''}`}>
{empty && !loading && <p className="empty-tip">暂无数据</p>}
{assetList.map((item) => (
<div key={item.id} className={`asset-item ${item.thumbnailType}`} onClick={() => onItemClick(item)}>
<div className="thumbnail">
<img
src={item.thumbnailType === 'image' ? item.thumbnail : AssetThumbnail[layout][item.thumbnailType]}
alt=""
/>
</div>
<div className="info">
<div className="name">{item.name}</div>
<div className="author">
{item.user?.dept?.name} {item.user.empName}
</div>
</div>
{handle && handle(item)}
</div>
))}
</div>
)
```
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2327 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 16:06 · PVG 00:06 · LAX 09:06 · JFK 12:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.